package com.sunday.boot3.user.center.service;

import com.sunday.boot3.user.center.pojo.dto.permissions.*;
import com.sunday.common.core.remoting.base.page.PageResultDTO;

import java.util.Collection;

/**
 * @Description: 权限表 服务类
 * @author: zsy
 * @Create: 2024/09/22 16:24:38
 */
public interface PermissionsService {

    /**
     * @Description: 新增 权限表 数据
     * @Param: [savePermissionsReqDTO]
     * @Return: void
     * @Author: zsy
     * @Time: 2024/09/22 16:24:38
     */
    void save(SavePermissionsReqDTO savePermissionsReqDTO);

    /**
     * 权限表 批量权限保存
     * @param saveBatchPermissionsReqDTO
     * @return
     */
    void saveBatch(SaveBatchPermissionsReqDTO saveBatchPermissionsReqDTO);

    /**
     * @Description: 删除 权限表 数据
     * @Param: [removePermissionsReqDTO]
     * @Return: void
     * @Author: zsy
     * @Time: 2024/09/22 16:24:38
     */
    void remove(RemovePermissionsReqDTO removePermissionsReqDTO);

    /**
     * @Description: 修改 权限表 数据
     * @Param: [updatePermissionsReqDTO]
     * @Return: void
     * @Author: zsy
     * @Time: 2024/09/22 16:24:38
     */
    void update(UpdatePermissionsReqDTO updatePermissionsReqDTO);

    /**
     * @Description: 获取 权限表 分页列表数据
     * @Param: [pagePermissionsReqDTO]
     * @Return: com.sunday.common.core.remoting.base.page.PageResultDTO<com.sunday.boot3.user.center.pojo.dto.permissions.PagePermissionsResDTO>
     * @Author: zsy
     * @Time: 2024/09/22 16:24:38
     */
    PageResultDTO<PagePermissionsResDTO> page(PagePermissionsReqDTO pagePermissionsReqDTO);

    /**
     * 全量获取 权限标数据
     *
     * @param
     * @return {@link Collection< ListPermissionsResDTO>}
     */
    Collection<ListPermissionsResDTO> list();

}
